package com.vivo.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CarportInfoHistoryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CarportInfoHistoryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkCustomerIsNull() {
            addCriterion("FK_Customer is null");
            return (Criteria) this;
        }

        public Criteria andFkCustomerIsNotNull() {
            addCriterion("FK_Customer is not null");
            return (Criteria) this;
        }

        public Criteria andFkCustomerEqualTo(String value) {
            addCriterion("FK_Customer =", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerNotEqualTo(String value) {
            addCriterion("FK_Customer <>", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerGreaterThan(String value) {
            addCriterion("FK_Customer >", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerGreaterThanOrEqualTo(String value) {
            addCriterion("FK_Customer >=", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerLessThan(String value) {
            addCriterion("FK_Customer <", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerLessThanOrEqualTo(String value) {
            addCriterion("FK_Customer <=", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerLike(String value) {
            addCriterion("FK_Customer like", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerNotLike(String value) {
            addCriterion("FK_Customer not like", value, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerIn(List<String> values) {
            addCriterion("FK_Customer in", values, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerNotIn(List<String> values) {
            addCriterion("FK_Customer not in", values, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerBetween(String value1, String value2) {
            addCriterion("FK_Customer between", value1, value2, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkCustomerNotBetween(String value1, String value2) {
            addCriterion("FK_Customer not between", value1, value2, "fkCustomer");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNull() {
            addCriterion("FKRoom_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNotNull() {
            addCriterion("FKRoom_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdEqualTo(String value) {
            addCriterion("FKRoom_ID =", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotEqualTo(String value) {
            addCriterion("FKRoom_ID <>", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThan(String value) {
            addCriterion("FKRoom_ID >", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID >=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThan(String value) {
            addCriterion("FKRoom_ID <", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID <=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLike(String value) {
            addCriterion("FKRoom_ID like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotLike(String value) {
            addCriterion("FKRoom_ID not like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIn(List<String> values) {
            addCriterion("FKRoom_ID in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotIn(List<String> values) {
            addCriterion("FKRoom_ID not in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdBetween(String value1, String value2) {
            addCriterion("FKRoom_ID between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotBetween(String value1, String value2) {
            addCriterion("FKRoom_ID not between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andCarportTypeIsNull() {
            addCriterion("Carport_Type is null");
            return (Criteria) this;
        }

        public Criteria andCarportTypeIsNotNull() {
            addCriterion("Carport_Type is not null");
            return (Criteria) this;
        }

        public Criteria andCarportTypeEqualTo(String value) {
            addCriterion("Carport_Type =", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeNotEqualTo(String value) {
            addCriterion("Carport_Type <>", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeGreaterThan(String value) {
            addCriterion("Carport_Type >", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeGreaterThanOrEqualTo(String value) {
            addCriterion("Carport_Type >=", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeLessThan(String value) {
            addCriterion("Carport_Type <", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeLessThanOrEqualTo(String value) {
            addCriterion("Carport_Type <=", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeLike(String value) {
            addCriterion("Carport_Type like", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeNotLike(String value) {
            addCriterion("Carport_Type not like", value, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeIn(List<String> values) {
            addCriterion("Carport_Type in", values, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeNotIn(List<String> values) {
            addCriterion("Carport_Type not in", values, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeBetween(String value1, String value2) {
            addCriterion("Carport_Type between", value1, value2, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportTypeNotBetween(String value1, String value2) {
            addCriterion("Carport_Type not between", value1, value2, "carportType");
            return (Criteria) this;
        }

        public Criteria andCarportLocationIsNull() {
            addCriterion("Carport_location is null");
            return (Criteria) this;
        }

        public Criteria andCarportLocationIsNotNull() {
            addCriterion("Carport_location is not null");
            return (Criteria) this;
        }

        public Criteria andCarportLocationEqualTo(String value) {
            addCriterion("Carport_location =", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationNotEqualTo(String value) {
            addCriterion("Carport_location <>", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationGreaterThan(String value) {
            addCriterion("Carport_location >", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationGreaterThanOrEqualTo(String value) {
            addCriterion("Carport_location >=", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationLessThan(String value) {
            addCriterion("Carport_location <", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationLessThanOrEqualTo(String value) {
            addCriterion("Carport_location <=", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationLike(String value) {
            addCriterion("Carport_location like", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationNotLike(String value) {
            addCriterion("Carport_location not like", value, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationIn(List<String> values) {
            addCriterion("Carport_location in", values, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationNotIn(List<String> values) {
            addCriterion("Carport_location not in", values, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationBetween(String value1, String value2) {
            addCriterion("Carport_location between", value1, value2, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportLocationNotBetween(String value1, String value2) {
            addCriterion("Carport_location not between", value1, value2, "carportLocation");
            return (Criteria) this;
        }

        public Criteria andCarportNumberIsNull() {
            addCriterion("Carport_Number is null");
            return (Criteria) this;
        }

        public Criteria andCarportNumberIsNotNull() {
            addCriterion("Carport_Number is not null");
            return (Criteria) this;
        }

        public Criteria andCarportNumberEqualTo(String value) {
            addCriterion("Carport_Number =", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberNotEqualTo(String value) {
            addCriterion("Carport_Number <>", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberGreaterThan(String value) {
            addCriterion("Carport_Number >", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberGreaterThanOrEqualTo(String value) {
            addCriterion("Carport_Number >=", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberLessThan(String value) {
            addCriterion("Carport_Number <", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberLessThanOrEqualTo(String value) {
            addCriterion("Carport_Number <=", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberLike(String value) {
            addCriterion("Carport_Number like", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberNotLike(String value) {
            addCriterion("Carport_Number not like", value, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberIn(List<String> values) {
            addCriterion("Carport_Number in", values, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberNotIn(List<String> values) {
            addCriterion("Carport_Number not in", values, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberBetween(String value1, String value2) {
            addCriterion("Carport_Number between", value1, value2, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andCarportNumberNotBetween(String value1, String value2) {
            addCriterion("Carport_Number not between", value1, value2, "carportNumber");
            return (Criteria) this;
        }

        public Criteria andUsestaDateIsNull() {
            addCriterion("UseSta_Date is null");
            return (Criteria) this;
        }

        public Criteria andUsestaDateIsNotNull() {
            addCriterion("UseSta_Date is not null");
            return (Criteria) this;
        }

        public Criteria andUsestaDateEqualTo(Date value) {
            addCriterion("UseSta_Date =", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateNotEqualTo(Date value) {
            addCriterion("UseSta_Date <>", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateGreaterThan(Date value) {
            addCriterion("UseSta_Date >", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateGreaterThanOrEqualTo(Date value) {
            addCriterion("UseSta_Date >=", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateLessThan(Date value) {
            addCriterion("UseSta_Date <", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateLessThanOrEqualTo(Date value) {
            addCriterion("UseSta_Date <=", value, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateIn(List<Date> values) {
            addCriterion("UseSta_Date in", values, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateNotIn(List<Date> values) {
            addCriterion("UseSta_Date not in", values, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateBetween(Date value1, Date value2) {
            addCriterion("UseSta_Date between", value1, value2, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUsestaDateNotBetween(Date value1, Date value2) {
            addCriterion("UseSta_Date not between", value1, value2, "usestaDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateIsNull() {
            addCriterion("UseEnd_Date is null");
            return (Criteria) this;
        }

        public Criteria andUseendDateIsNotNull() {
            addCriterion("UseEnd_Date is not null");
            return (Criteria) this;
        }

        public Criteria andUseendDateEqualTo(Date value) {
            addCriterion("UseEnd_Date =", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateNotEqualTo(Date value) {
            addCriterion("UseEnd_Date <>", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateGreaterThan(Date value) {
            addCriterion("UseEnd_Date >", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateGreaterThanOrEqualTo(Date value) {
            addCriterion("UseEnd_Date >=", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateLessThan(Date value) {
            addCriterion("UseEnd_Date <", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateLessThanOrEqualTo(Date value) {
            addCriterion("UseEnd_Date <=", value, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateIn(List<Date> values) {
            addCriterion("UseEnd_Date in", values, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateNotIn(List<Date> values) {
            addCriterion("UseEnd_Date not in", values, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateBetween(Date value1, Date value2) {
            addCriterion("UseEnd_Date between", value1, value2, "useendDate");
            return (Criteria) this;
        }

        public Criteria andUseendDateNotBetween(Date value1, Date value2) {
            addCriterion("UseEnd_Date not between", value1, value2, "useendDate");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeIsNull() {
            addCriterion("Source_Create_time is null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeIsNotNull() {
            addCriterion("Source_Create_time is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeEqualTo(Date value) {
            addCriterion("Source_Create_time =", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeNotEqualTo(Date value) {
            addCriterion("Source_Create_time <>", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeGreaterThan(Date value) {
            addCriterion("Source_Create_time >", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_Create_time >=", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeLessThan(Date value) {
            addCriterion("Source_Create_time <", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("Source_Create_time <=", value, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeIn(List<Date> values) {
            addCriterion("Source_Create_time in", values, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeNotIn(List<Date> values) {
            addCriterion("Source_Create_time not in", values, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeBetween(Date value1, Date value2) {
            addCriterion("Source_Create_time between", value1, value2, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("Source_Create_time not between", value1, value2, "sourceCreateTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeIsNull() {
            addCriterion("Source_LastModify_Time is null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeIsNotNull() {
            addCriterion("Source_LastModify_Time is not null");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeEqualTo(Date value) {
            addCriterion("Source_LastModify_Time =", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeNotEqualTo(Date value) {
            addCriterion("Source_LastModify_Time <>", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeGreaterThan(Date value) {
            addCriterion("Source_LastModify_Time >", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("Source_LastModify_Time >=", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeLessThan(Date value) {
            addCriterion("Source_LastModify_Time <", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeLessThanOrEqualTo(Date value) {
            addCriterion("Source_LastModify_Time <=", value, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeIn(List<Date> values) {
            addCriterion("Source_LastModify_Time in", values, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeNotIn(List<Date> values) {
            addCriterion("Source_LastModify_Time not in", values, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeBetween(Date value1, Date value2) {
            addCriterion("Source_LastModify_Time between", value1, value2, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceLastmodifyTimeNotBetween(Date value1, Date value2) {
            addCriterion("Source_LastModify_Time not between", value1, value2, "sourceLastmodifyTime");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNull() {
            addCriterion("Source_Add_User is null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIsNotNull() {
            addCriterion("Source_Add_User is not null");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserEqualTo(String value) {
            addCriterion("Source_Add_User =", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotEqualTo(String value) {
            addCriterion("Source_Add_User <>", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThan(String value) {
            addCriterion("Source_Add_User >", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Source_Add_User >=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThan(String value) {
            addCriterion("Source_Add_User <", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLessThanOrEqualTo(String value) {
            addCriterion("Source_Add_User <=", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserLike(String value) {
            addCriterion("Source_Add_User like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotLike(String value) {
            addCriterion("Source_Add_User not like", value, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserIn(List<String> values) {
            addCriterion("Source_Add_User in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotIn(List<String> values) {
            addCriterion("Source_Add_User not in", values, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserBetween(String value1, String value2) {
            addCriterion("Source_Add_User between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceAddUserNotBetween(String value1, String value2) {
            addCriterion("Source_Add_User not between", value1, value2, "sourceAddUser");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("Source_id is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("Source_id is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("Source_id =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("Source_id <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("Source_id >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("Source_id >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("Source_id <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("Source_id <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("Source_id like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("Source_id not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("Source_id in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("Source_id not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("Source_id between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("Source_id not between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("Remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("Remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("Remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("Remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("Remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("Remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("Remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("Remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("Remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("Remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("Remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("Remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("Remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("Remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("Create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("Create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("Create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("Create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("Create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("Create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("Create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("Create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNull() {
            addCriterion("lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNotNull() {
            addCriterion("lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateEqualTo(Date value) {
            addCriterion("lastModify_date =", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotEqualTo(Date value) {
            addCriterion("lastModify_date <>", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThan(Date value) {
            addCriterion("lastModify_date >", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("lastModify_date >=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThan(Date value) {
            addCriterion("lastModify_date <", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("lastModify_date <=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIn(List<Date> values) {
            addCriterion("lastModify_date in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotIn(List<Date> values) {
            addCriterion("lastModify_date not in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("lastModify_date between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("lastModify_date not between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_user is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_user =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_user <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_user >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_user >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_user <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_user <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_user like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_user not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_user in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_user not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_user between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_user not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}